:root {
    --head-font-weight: 500;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    user-select: none;
    font-family: 'Bahnschrift', sans-serif;
}

p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300
}

nav {
    height: 10vh;
    display: flex;
    padding: 0 5vw;
    align-items: center;
    justify-content: center;

    > * {
        flex-grow: 1;
    }

    > a:first-child {
        height: 50%;

        img {
            height: 100%;
        }
    }

    > a:last-child {
        text-transform: uppercase;
        text-decoration: none;
        text-align: right;
    }

    .flags {
        display: flex;
        text-align: center;
        justify-content: center;

        a {
            margin: .8vw;
            
            img {
                min-width: 1.7em;
            }
        }
    }
}

main {
    min-height: 69.8vh;
    
    &, sub {
        display: flex;
        flex-direction: column;
    }

    .carousel {
        max-height: 85vh;
        min-height: 30vh;
        position: relative;
        overflow-y: hidden;

        #left-arrow, #right-arrow {
            position: absolute;
            top: 0;
            height: 100%;
            width: 8vw;
            background-color: #00000003;
            color: #fff;

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;

            cursor: pointer;

            svg {
                max-height: 50px;
                transform: scale(.7, .7);
                
                .cls-1 {
                    fill: none;
                    stroke: #b1b1b1;
                    stroke-width: 6px;
                }
            }
            
            &:hover {
                background-color: #2222220c; 
            }

            &:hover svg .cls-1 {
                stroke: #fff
            }
        }
        
        #left-arrow {
            left: 0;
            
            &:hover {
                box-shadow: 0px 0px 6px #00000015;
            }
        }
        
        #right-arrow {
            right: 0;
            
            &:hover {
                box-shadow: -1px 0px 6px #00000015;
            }
        }

        .indicators {
            position: absolute;
            display: flex;
            bottom: 35px;
            width: 100%;
            justify-content: center;
            margin: 0 auto;
            text-align: center;
            
            button {
                min-width: 9px;
                min-height: 9px;
                outline: none;
                background-color: transparent;
                border: 1px solid #fff;
                border-radius: 50%;
                margin: 0 9px;
                cursor: pointer;
            }

            .active {
                background-color: #fff;
            }
        }

        .images {
            position: relative;
            z-index: -1;
            width: 100%;
            height: 100%;
            
            img {
                width: 100%;
            }

            :not(.active) {
                animation: fadeOut .3s ease-out forwards;
                display: none;
            }
            
            .active {
                display: unset;
                animation: fadeIn .5s ease-in forwards;
            }
        }
    }

    sub {
        margin: 3vh 5vw 10vh 5vw;

        * {
            text-align: center;
        }

        > h2 {
            text-transform: uppercase;
            margin: 3vh;
            font-size: 2em;
        }

        .thumbnails {
            display: grid;
            grid-template-columns: repeat(
                auto-fit, minmax(300px, 1fr)
            );
            column-gap: 2vw;
            row-gap: 5vw;

            .thumb {
                border: 1px solid #d2d2d2;
                border-radius: 4px;
                padding: 2px;

                img {
                    width: 100%;
                    border-radius: 3px 3px 0 0;
                }

                section {
                    padding: 0 1vw;

                    h3 {
                        text-transform: uppercase;
                        margin: 12px 0;
                        font-size: 1.5em;
                    }

                    p {
                        margin: 15px 0;
                        font-size: 1.3em;
                    }
                }
            }
        }
    }
}

footer {
    min-height: 15vh;
    display: grid;
    grid-template-columns: repeat(
        auto-fit, minmax(300px, 1fr)
    );
    row-gap: 7vh;
    column-gap: 2vw;
    text-align: center;
    background-color: #101D61;
    color: #fff;
    padding: 2vh 0 1vh 0;

    .option {

        h3, h4 {
            text-transform: uppercase;
            font-weight: var(--head-font-weight);
        }
        
        h3 {
            color: rgb(255, 222, 35)
        }
        
        h4, p {
            margin: 1vh 0;
        }
    }
}

@keyframes fadeOut {
    from { opacity: 1 }
    to { opacity: .5 }
}

@keyframes fadeIn {
    from { opacity: .5 }
    to { opacity: 1 }
}